//
//  StrategyDateParameter.h
//  StrategyInspector
//
//  Created by jiro on 12/07/29.
//  Copyright 2012 jiro music. All rights reserved.
//

#import <Cocoa/Cocoa.h>

#import "StrategyParameter.h"

class StrategyDateParameter : public StrategyParameter
{
public:

	StrategyDateParameter();

	StrategyDateParameter( NSDate* date );

	StrategyDateParameter( NSDate* minDate, NSDate* maxDate, double interval );

	bool isMutable() const;

	void nextValue( bool& isLast );
	
	void initialize();
	
	NSDate* getDateValue() const;
	NSDate* getDateValueStart() const;
	NSDate* getDateValueEnd() const;

	void setDateValue( NSDate* date );

	StrategyParameter* copy() const;

	void setValueMiddle();

private:

	double interval;

	NSDate* currentDate;

	NSDate* startDate;

	NSDate* endDate;
};
